package com.hzeport.bgs22emduty.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hzeport.bgs22emduty.dto.ScreenDutyMessageDTO;
import com.hzeport.bgs22emduty.dto.messgeDistribute.ScreenMessageDistributeHideDTO;
import com.hzeport.bgs22emduty.vo.ls.ScreenDutyMessageSaveVO;
import com.hzeport.bgs22emduty.common.base.BaseResult;
import com.hzeport.bgs22emduty.common.base.BaseService;
import com.hzeport.bgs22emduty.entity.ScreenDutyMessage;
import freemarker.template.TemplateException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * ${comments}
 *
 * @author code generator
 * @date 2023-02-14 09:39:44
 */
public interface ScreenDutyMessageService extends BaseService<ScreenDutyMessage> {

    Page<ScreenDutyMessage> page(ScreenDutyMessageDTO screenDutyMessage);

    BaseResult savels(ScreenDutyMessageSaveVO screenDutyMessageSaveVO, HttpServletRequest request);

    BaseResult exportDoc(String id, HttpServletResponse response) throws IOException, TemplateException;

    Object update(ScreenDutyMessage screenDutyMessage);

    BaseResult escalation(ScreenDutyMessageSaveVO screenDutyMessageSaveVO, HttpServletRequest request);

    Object hide(ScreenMessageDistributeHideDTO screenMessageDistributeHideDTO);

    void exportDocWithParam(String customName, String title, String mainBody, HttpServletResponse response) throws IOException, TemplateException;

    void exportDocWithParam(JSONObject pararm, HttpServletResponse response) throws IOException, TemplateException;
}
